//package com.leyu.mall.common.dao;
//
//
//import java.util.List;
//import org.springframework.dao.DataAccessException;
//import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
//import org.springframework.transaction.support.TransactionTemplate;
//
// /**
//  * 
//  * <p>标题： </p>
//  * <p>功能： </p>
//  * <p>版权： Copyright (c) 2012</p>
//  * <p>公司: 北京有为科技有限公司</p>
//  * <p>创建日期：2012-10-18 下午02:23:05</p>
//  * <p>类全名：com.leyu.mall.common.dao.SqlMapClientDaoSupportEx</p>
//  * 
//  * 作者：
//  * 初审：
//  * 复审：
//  * @version 8.0
//  */
//public class SqlMapClientDaoSupportEx   extends SqlMapClientDaoSupport{
////	private TransactionTemplate transactionTemplate;
//
//	/**
//	 * 实现用户分页查找数据，每次翻页都执行该操作（重新取得扄1�7有记录�1�7�数和当前页的记录）
//	 * 
//	 * @param selStmName
//	 *            数据查找SQLID
//	 * @param cntStmName
//	 *            数据记录总数查找SQLID，格式如：select count(*) from bidword
//	 * @param query
//	 *            查找参数
//	 * @return List 当前页记录集
//	 */
//	public List executeQueryForList(String selStmName, String cntStmName,
//			PageBean query) throws Exception {
//
//		List result = null;
//
//		if (StringUtil.isEmpty(selStmName) || StringUtil.isEmpty(cntStmName)
//				|| (query == null)) {
//			return null;
//		}
//
//		try {
//			// 得到数据记录总数
//			Integer countNumber = (Integer) getSqlMapClientTemplate()
//					.queryForObject(cntStmName, query);
//
//			if (countNumber != null) {
//				// 设置当前查询的记录�1�7�数
////				query.setTotalPage(countNumber.intValue());
//				query.setTotalItem(countNumber.intValue());
//				// 验证当前页数的合法�1�7�1�7
//				query.validatePageInfo();
//				
//				// 得到当前页的数据雄1�7
//				result = getSqlMapClientTemplate().queryForList(selStmName,
//						query);
//			}
//		} catch (DataAccessException e) {
//			throw new Exception(e);
//		}
//
//		return result;
//	}
//
//	 
//
//	 
//	 
//  
//	/**
//	 * 插入丄1�7条记彄1�7
//	 * 
//	 * @param statementName
//	 * @param parameterObject
//	 * @return 新增加的记录主键
//	 * @throws Exception
//	 */
//	protected Object executeInsert(String statementName, Object parameterObject)
//			throws Exception {
//		Object back = null;
//
//		try {
//			back = this.getSqlMapClientTemplate().insert(statementName,
//					parameterObject);
//
//			return back;
//		} catch (DataAccessException dae) {
//			throw new Exception(dae);
//		}
//	}
//
//	/**
//	 * 更新数据库，可以插入丄1�7条记录，也可以删除一条记彄1�7 返回受影响的条数
//	 * 
//	 * @param statementName
//	 * @param parameterObject
//	 * @return 被更新的记录敄1�7
//	 * @throws Exception
//	 */
//	protected int executeUpdate(String statementName, Object parameterObject)
//			throws Exception {
//		int updateRows = 0;
//
//		try {
//			updateRows = this.getSqlMapClientTemplate().update(statementName,
//					parameterObject);
//
//			return updateRows;
//		} catch (DataAccessException dae) {
//			throw new Exception(dae);
//		}
//	}
//
//	/**
//	 * 查找单个对象
//	 * 
//	 * @param statementName
//	 * @param parameterObject
//	 * @param qualification
//	 * @return
//	 * @throws Exception
//	 */
//	protected Object executeQueryForObject(String statementName,
//			Object parameterObject) throws Exception {
//		try {
//			Object returnObject = this.getSqlMapClientTemplate()
//					.queryForObject(statementName, parameterObject);
//
//			return returnObject;
//		} catch (DataAccessException dae) {
//			throw new Exception(dae);
//		}
//	}
//
//	/**
//	 * 返回查询列表，如果不能唯丄1�7决定丄1�7个数据库，将在多库之间分别查评1�7
//	 * 
//	 * @param statementName
//	 * @param parameterObject
//	 * 
//	 * @return
//	 * @throws Exception
//	 */
//	protected List executeQueryForList(String statementName,
//			Object parameterObject) throws Exception {
//		try {
//			List resultList = this.getSqlMapClientTemplate().queryForList(
//					statementName, parameterObject);
//			return CollectionUtil.defaultIfNull(resultList);
//		} catch (DataAccessException dae) {
//			throw new Exception(dae);
//		}
//	}
//
////	public TransactionTemplate getTransactionTemplate() {
////		return transactionTemplate;
////	}
////
////	public void setTransactionTemplate(TransactionTemplate transactionTemplate) {
////		this.transactionTemplate = transactionTemplate;
////	}
//}
